home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / DShowIDL / regbag.idl < prev    next >
Text File  |  2001-10-08  |  2KB  |  53 lines

  1. //------------------------------------------------------------------------------
  2. // File: RegBag.idl
  3. //
  4. // Desc: IDL source for RegBag.dll.
  5. //
  6. // Copyright (c) 1999-2001, Microsoft Corporation.  All rights reserved.
  7. //------------------------------------------------------------------------------
  8.  
  9.  
  10. cpp_quote("//+-------------------------------------------------------------------------")
  11. cpp_quote("//")
  12. cpp_quote("//  Microsoft Windows")
  13. cpp_quote("//  Copyright (C) Microsoft Corporation, 1999-2001.")
  14. cpp_quote("//")
  15. cpp_quote("//--------------------------------------------------------------------------")
  16. cpp_quote("#pragma once")
  17.  
  18. #ifndef DO_NO_IMPORTS
  19. import "objidl.idl";
  20. import "oaidl.idl";
  21. import "ocidl.idl";
  22. #endif
  23.  
  24. //*****************************************************************************
  25. ///////////////////////////////////////////////////////////////////////////////
  26. //
  27. //  Custom Factory interface
  28. //  since com doesn't support ctors or initialization parameters on std factory interface
  29. //  we have a custom creation interface
  30. //
  31. ///////////////////////////////////////////////////////////////////////////////
  32. //*****************************************************************************
  33. ///////////////////////////////////////////////////////////////////////////////////////
  34. [object, 
  35.     hidden, restricted,
  36.     uuid(8A674B48-1F63-11d3-B64C-00C04F79498E),
  37.     helpstring("Create property bag backed by registry"),
  38.     pointer_default(unique),
  39.     local
  40. ]
  41. interface ICreatePropBagOnRegKey : IUnknown {
  42.     // NOTE: it is up to the caller to set the correct registry access based on the interface
  43.     // and methods the caller intends to use
  44.     // IPropertyBag2::GetPropertyInfo and CountProperties require both KEY_QUERY_VALUE and KEY_ENUMERATE_SUBKEYS
  45.     // IPropertyBagXXX::Read requires KEY_READ
  46.     // IPropertyBagXXX::Write requires KEY_WRITE
  47.     // also, you must CoTaskMemFree the name string from GetPropertyInfo
  48.     // if you write a value of VT_EMPTY or VT_NULL the property will be removed from the bag and the corresponding
  49.     // registry info will be deleted.
  50.     HRESULT Create([in] HKEY hkey, [in] LPCOLESTR subkey, [in] DWORD ulOptions, [in] DWORD samDesired, REFIID iid, [out] LPVOID *ppBag);
  51. };
  52.  
  53.